﻿FolderMP3 1.3.1 - ADS Edition
================================

Portable MP3-Player für Windows 10/11 x64
Entwickelt in Flat Assembler (FASM 1)


1. Was ist FolderMP3?
---------------------

FolderMP3 ist ein kleiner nativer Windows-MP3-Player.

Das Grundprinzip lautet:

    Der aktuelle Ordner ist die "CD".

Es gibt bewusst keine Medienbibliothek, keine Datenbank und keinen
"Dateien hinzufügen"-Dialog. FolderMP3 arbeitet direkt mit MP3-Dateien
und Ordnern.

Die EXE ist so kompakt, dass sie problemlos in jedem MP3-Ordner liegen
kann. Einfach im Explorer zum Albumordner navigieren, FolderMP3 starten
und den Ordner wie eine eingelegte CD abspielen.

Zusätzlich können MP3-Dateien als NTFS Alternate Data Streams (ADS)
direkt an der FolderMP3-EXE gespeichert und ohne temporäre Datei
abgespielt werden.


2. Unterstütztes Audioformat
----------------------------

FolderMP3 spielt bewusst ausschließlich MP3.

Die Wiedergabe erfolgt über den integrierten nocash-MP3-Decoder und
Windows waveOut.

Unterstützt werden unter anderem:

    - normale CBR-MP3-Dateien
    - LAME/VBR-MP3-Dateien
    - Xing/LAME-VBR-Informationen für Seek
    - Unicode-Dateinamen

Andere Audioformate wie WAV, FLAC, AAC, M4A oder OGG werden nicht
unterstützt.


3. Bedienung
------------

Die wichtigsten Bedienelemente sind:

    Zurück
    Play
    Pause
    Stop
    Weiter

Zusätzlich gibt es:

    - Positionsregler zum Spulen
    - Lautstärkeregler
    - Playlist
    - einklappbaren Ordnerbrowser
    - Laufwerksauswahl
    - About
    - Albumcover-Anzeige

Die Lautstärke startet bei 30 Prozent.


4. Eigene Titelleiste
---------------------

Standardmäßig verwendet FolderMP3 1.3.1 eine eigene kompakte Titelleiste.

Sie enthält:

    - Pin für Always on Top
    - Minimieren
    - Schließen

Die freie Titelfläche kann zum Verschieben des Fensters benutzt werden.

Ein Rechtsklick auf die eigene Titelleiste rollt das Fenster auf die
Titelleistenhöhe ein beziehungsweise wieder aus.

Ein Doppelklick auf das NC-Symbol links schaltet zwischen dem Purple-
und dem BeOS-Yellow-Design um.

Die Titelleiste wird vollständig mit Win32/GDI gezeichnet. Es werden
keine externen Skin-Dateien benötigt.


5. Optionaler NoSkin-Modus
--------------------------

Beim ersten Start legt FolderMP3 programmspezifisch folgenden Registry-
Eintrag für den aktuellen Benutzer an:

    HKCU\Software\FolderMP3\NoSkin

Typ:

    REG_DWORD

Standardwert:

    0

Bei NoSkin=0 startet FolderMP3 mit der eigenen Titelleiste.

Wird der Wert manuell auf 1 gesetzt, startet FolderMP3 beim nächsten
Programmstart ohne den eigenen Skin und verwendet wieder die native
Windows-Titelleiste sowie die ursprüngliche Fenstergeometrie.

Im NoSkin-Modus befindet sich "Always on Top" wie bei den älteren
FolderMP3-Versionen im normalen Windows-Systemmenü.

Dieser Registry-Schalter betrifft ausschließlich FolderMP3. Es werden
keine globalen Windows-Einstellungen verändert.


6. Sofortige Fensteranzeige / DWM
---------------------------------

FolderMP3 deaktiviert für seine eigenen sichtbaren Top-Level-Fenster
programmspezifisch die DWM-Fensterübergänge.

Dazu wird unmittelbar nach der Fenstererzeugung und vor der ersten
Anzeige das Windows-Attribut

    DWMWA_TRANSITIONS_FORCEDISABLED

über DwmSetWindowAttribute gesetzt.

Dies gilt für:

    - das Hauptfenster
    - das 400x400-Cover-Hover-Popup

Dadurch soll das Fenster ohne den von Windows erzeugten Einblendeffekt
sofort vollständig sichtbar erscheinen.

Der DWM-Aufruf ist rein optisch. Wenn Windows den Aufruf nicht unterstützt
oder er fehlschlägt, startet FolderMP3 ohne Fehlermeldung normal weiter.

FolderMP3 verändert dafür keine Registry-Werte von Windows, keine
Systemanimationsoptionen und keine globalen Desktop-Einstellungen.


7. DPI-Skalierung
-----------------

FolderMP3 deklariert sich bewusst nicht als DPI-aware.

Es gibt insbesondere keine Per-Monitor-DPI-Awareness-Deklaration.
Windows darf daher die komplette feste Oberfläche bei 125, 150 oder
200 Prozent proportional skalieren.

Außerdem verwendet FolderMP3 bewusst kein Common-Controls-v6-Manifest,
damit die klassischen Windows-Steuerelemente und insbesondere die
Scrollbars gut sichtbar bleiben.


8. Ordner als Album / "CD"
--------------------------

Ohne ADS-Musik startet FolderMP3 mit den *.mp3-Dateien aus dem Ordner,
in dem sich die EXE befindet.

Über "Ordner" kann der eingebaute Browser geöffnet werden.

Ein Ordner mit MP3-Dateien wird zur neuen aktiven "CD".

Das reine Markieren eines Ordners oder die Navigation mit den Pfeiltasten
ändert die laufende Musik nicht. Erst ein Doppelklick auf einen geeigneten
Ordner übernimmt ihn als neue Musikquelle.


9. ADS Edition
--------------

FolderMP3 kann MP3-Dateien als NTFS Alternate Data Streams direkt an der
eigenen EXE finden und abspielen.

Beispielprinzip:

    FolderMP3.exe:intro.mp3
    FolderMP3.exe:track02.mp3
    FolderMP3.exe:bonus.mp3

Akzeptiert werden benannte Streams im Format:

    :name.mp3:$DATA

Andere Streams werden ignoriert.

Wenn beim Start MP3-ADS an der eigenen EXE vorhanden sind, werden diese
zuerst als Playlist benutzt.

Sind keine MP3-ADS vorhanden, startet FolderMP3 mit den MP3-Dateien aus
dem EXE-Ordner.

Es gibt kein automatisches Autoplay. Der erste Eintrag wird nur ausgewählt;
die Wiedergabe beginnt mit Play oder Doppelklick.

Die MP3-Dateien werden nicht aus dem ADS exportiert. Der Decoder erhält
direkt einen Windows-Pfad wie:

    C:\Player\FolderMP3.exe:track.mp3


10. Albumcover
--------------

FolderMP3 kann eingebettete Albumcover aus ID3v2 lesen.

Unterstützt werden:

    ID3v2.2 PIC
    ID3v2.3 APIC
    ID3v2.4 APIC

JPEG- und PNG-Bilder werden über Windows GDI+ dekodiert.

Das Cover erscheint klein rechts oben im Player. Wenn der Mauszeiger
darüber steht, erscheint sofort ein rahmenloses 400x400-Cover.

Das bereits geladene Bild wird dafür wiederverwendet. Albumcover
funktionieren auch bei MP3-Dateien, die direkt aus einem NTFS-ADS
abgespielt werden.


11. Seek und lange Titel
------------------------

Der Positionsregler arbeitet intern mit 0 bis 1000 Schritten.

Bei CBR-Dateien wird die Zielposition aus der Audiodatenposition geschätzt.
Bei Xing/LAME-VBR-Dateien verwendet FolderMP3 die VBR-TOC.

Vor dem Zielpunkt wird ein Layer-III-Pre-Roll dekodiert, damit Bit Reservoir
und Synthesezustand wieder aufgebaut werden.

Während der Schieber gezogen wird, wird nur die Zeitvorschau aktualisiert.
Der eigentliche Seek erfolgt beim Loslassen.

Die Zeitanzeige ist nicht auf 99 Minuten begrenzt.


12. Aprilscherz
---------------

Wird FolderMP3 am 1. April gestartet, kann einmalig eine harmlose
Scherzmeldung erscheinen.

Die Meldung verändert keine Dateien. Der Schaltflächen-Text "April, April"
macht unmittelbar deutlich, dass es sich um einen Scherz handelt.


13. Portable Einzel-EXE
-----------------------

FolderMP3 benötigt keine Installation.

Die Oberfläche verwendet Win32/GDI und klassische Standard-Controls.
Es gibt keine externen Button-Bitmaps oder Skin-Dateien.

Für Wiedergabe und Coveranzeige werden Windows-Systembibliotheken und der
im Programm enthaltene MP3-Decoder verwendet.


14. Build
---------

Benötigt wird FASM 1 mit win64a.inc aus dem normalen Windows-Paket.

Beispiel:

    fasm FolderMP3_1.3.1_ADS_CustomTitlebar_Release.asm FolderMP3_1.3.1.exe


15. Credits
-----------

FolderMP3 1.3.1

Developed by
NotCompatible (Basti) + GPT-5.6 Sol

MP3 Decoder
Original MP3 decoder/player by Martin Korth (nocash)

FASM reconstruction and Windows adaptation by Erdogan Tan
based on nocash MP3PLAY.EXE v1.4 / TASM source

Win64 port and FolderMP3 integration
NotCompatible (Basti) + GPT-5.6 Sol

Built with FASM
